package cn.demoncat.util.websocket.listener;

import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.messaging.SessionDisconnectEvent;

import cn.demoncat.util.web.entity.TokenPrincipal;
import cn.demoncat.util.websocket.util.WebSocketStompUtil;

/**
 * WebSocketStomp客户端断开连接事件监听
 * 
 * @author 延晓磊
 *
 * @since 2020年3月4日
 */
@Component
public class WebSocketStompDisconnectListener implements ApplicationListener<SessionDisconnectEvent> {

	@Override
	public void onApplicationEvent(SessionDisconnectEvent event) {
		// 获取连接用户
		TokenPrincipal user = (TokenPrincipal)event.getUser();
		// 移除Session
		WebSocketStompUtil.removeSession(user);
	}

}
